沒有自動化測試當基底的迭代式增量交付(例如 Scrum)都是自找死路,等於持續挖坑把 QA 埋進去。
腐敗充滿 smell 的 legacy code(沒有測試保護的程式碼就叫 legacy code)就跟培養果蠅一樣,控制溫度濕度(25度=辦公室空調,60%相對濕度=台灣,12小時光照=加班4小時,12小時黑暗=on-call support,根本是一堆公司工程師的寫照)得到最高產量和最短世代的時間,從卵到成蟲(bug) 只需要9-10天(剛好一個sprint呢)。
減少臭味、避免腐敗,讓舊的 feature 跟新的 feature 不會因為沒有測試保護而讓 bug 不斷近親繁殖,最後拖垮整個品質跟交付速度。
能對付公司最賺錢的 legacy code,能避免它因修改而出錯,能在正常時間內往上加入新的 feature 且維持穩定的品質跟交付速度,你就很值錢。
(多值錢?大概一天八萬多吧。畢竟那些線上最賺錢的產品,永遠都是 legacy code。)